Skip to content

Integrate HiGHS and few minor fixes from Augmenta#5150

Open
PedramHooshangiAUGAI wants to merge 1 commit into
google:mainfrom
augmenta-ai:pedram/Augmenta
Open

Integrate HiGHS and few minor fixes from Augmenta#5150
PedramHooshangiAUGAI wants to merge 1 commit into
google:mainfrom
augmenta-ai:pedram/Augmenta

Conversation

@PedramHooshangiAUGAI
Copy link
Copy Markdown

This pull request introduces support for the HiGHS solver throughout the codebase, updates some dependency versions, and adds a patch for SCIP to fix assertion issues. The changes ensure that HiGHS can be used as a backend for various algorithms and examples, and that the build system and workspace configuration are updated accordingly.

HiGHS Solver Integration:

  • Added support for HiGHS in the Christofides algorithm, enabling minimum weight matching with MIP using HiGHS (ortools/graph/christofides.h). [1] [2] [3] [4]
  • Enabled HiGHS for the uncapacitated facility location example (examples/cpp/uncapacitated_facility_location.cc).
  • Updated the Makefile to display the USE_HIGHS flag (makefiles/Makefile.cpp.mk).
  • Added the USE_HIGHS define to the workspace configuration (or-tools.code-workspace).
  • Added comments and TODOs in the HiGHS interface implementation for future improvements (ortools/linear_solver/highs_interface.cc). [1] [2]

Dependency and Build System Updates:

  • Updated google_benchmark and googletest Bazel dependencies to newer versions and resolved merge conflicts in MODULE.bazel.
  • Added a git_override for SCIP with a patch to fix debug-build assertion issues (MODULE.bazel, patches/scip-v10.0.2.patch). [1] [2]

These changes collectively improve solver flexibility, maintainability, and build reliability.<!--
Thank you for submitting a PR!

Please make sure you are targeting the main branch instead of stable and that all contributors have signed the Contributor License Agreement.

This simply gives us permission to use and redistribute your contributions as part of the project.
Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

This project follows https://opensource.google.com/conduct/

Thanks!
-->

@PedramHooshangiAUGAI
Copy link
Copy Markdown
Author

This PR is created following #5139, and it is waiting for maintainer approval, thanks.

@Mizux Mizux added Solver: SCIP SCIP Solver related issue Solver: HiGHS Issue specific to EDU HiGHS labels May 18, 2026
@PedramHooshangiAUGAI
Copy link
Copy Markdown
Author

Hi @Mizux, this PR has been waiting for about two weeks, wondering if there is anything that needs to be addressed other than the target change that you mentioned earlier? Thanks.

@Mizux
Copy link
Copy Markdown
Collaborator

Mizux commented May 20, 2026

please remove scip stuff, should be part of an other PR and should wait for a scip 10.0.2 in BCR imho

@PedramHooshangiAUGAI
Copy link
Copy Markdown
Author

please remove scip stuff, should be part of an other PR and should wait for a scip 10.0.2 in BCR imho

Done!.

@PedramHooshangiAUGAI
Copy link
Copy Markdown
Author

Hi @Mizux,

Most jobs are failing at google-github-actions/auth@v3 because GCP_BUCKET_API_KEY isn't available on fork PRs. The current guard in presubmit.yml:

if: github.event.pull_request.head.repo.fork == false

doesn't skip the step when github.event.pull_request is null (re-runs, push, workflow_dispatch) — null == false evaluates as truthy. A safer guard:

if: github.repository == 'google/or-tools' && github.event.pull_request.head.repo.fork != true

Could you re-run the failed jobs as a fresh PR event, or apply the fix? Thanks!

@Mizux
Copy link
Copy Markdown
Collaborator

Mizux commented May 21, 2026

Hi @Mizux,

Most jobs are failing at google-github-actions/auth@v3 because GCP_BUCKET_API_KEY isn't available on fork PRs. The current guard in presubmit.yml:

if: github.event.pull_request.head.repo.fork == false

doesn't skip the step when github.event.pull_request is null (re-runs, push, workflow_dispatch) — null == false evaluates as truthy. A safer guard:

if: github.repository == 'google/or-tools' && github.event.pull_request.head.repo.fork != true

Could you re-run the failed jobs as a fresh PR event, or apply the fix? Thanks!

@gchatelet

@gchatelet
Copy link
Copy Markdown
Collaborator

gchatelet commented May 21, 2026

Hi @Mizux,

Most jobs are failing at google-github-actions/auth@v3 because GCP_BUCKET_API_KEY isn't available on fork PRs. The current guard in presubmit.yml:

if: github.event.pull_request.head.repo.fork == false

doesn't skip the step when github.event.pull_request is null (re-runs, push, workflow_dispatch) — null == false evaluates as truthy. A safer guard:

if: github.repository == 'google/or-tools' && github.event.pull_request.head.repo.fork != true

Could you re-run the failed jobs as a fresh PR event, or apply the fix? Thanks!

@PedramHooshangiAUGAI the if: github.event.pull_request.head.repo.fork == false check has been submitted in the meantime (your last push is 20 hours ago). Can you please rebase you change onto main (and squash the commits). Then we can try re-running the presubmit. Thank you!

@PedramHooshangiAUGAI
Copy link
Copy Markdown
Author

Hi @Mizux,
Most jobs are failing at google-github-actions/auth@v3 because GCP_BUCKET_API_KEY isn't available on fork PRs. The current guard in presubmit.yml:
if: github.event.pull_request.head.repo.fork == false
doesn't skip the step when github.event.pull_request is null (re-runs, push, workflow_dispatch) — null == false evaluates as truthy. A safer guard:
if: github.repository == 'google/or-tools' && github.event.pull_request.head.repo.fork != true
Could you re-run the failed jobs as a fresh PR event, or apply the fix? Thanks!

@PedramHooshangiAUGAI the if: github.event.pull_request.head.repo.fork == false check has been submitted in the meantime (your last push is 20 hours ago). Can you please rebase you change onto main (and squash the commits). Then we can try re-running the presubmit. Thank you!

Thanks, done!.

@gchatelet
Copy link
Copy Markdown
Collaborator

Hi @Mizux,
Most jobs are failing at google-github-actions/auth@v3 because GCP_BUCKET_API_KEY isn't available on fork PRs. The current guard in presubmit.yml:
if: github.event.pull_request.head.repo.fork == false
doesn't skip the step when github.event.pull_request is null (re-runs, push, workflow_dispatch) — null == false evaluates as truthy. A safer guard:
if: github.repository == 'google/or-tools' && github.event.pull_request.head.repo.fork != true
Could you re-run the failed jobs as a fresh PR event, or apply the fix? Thanks!

@PedramHooshangiAUGAI the if: github.event.pull_request.head.repo.fork == false check has been submitted in the meantime (your last push is 20 hours ago). Can you please rebase you change onto main (and squash the commits). Then we can try re-running the presubmit. Thank you!

Thanks, done!.

ok I thought that removing auth would be enough but I need to properly remove caching support from CI. Stay tuned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Solver: HiGHS Issue specific to EDU HiGHS Solver: SCIP SCIP Solver related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants